﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Windows.Forms;
using System.Data.SqlClient;
using QLTV_V2.DataAccess;
using QLTV_V2.BussinessObject;
using QLTV_V2.BussinessLogic;

namespace QLTV_V2
{
    public partial class FrmTacGia : DevComponents.DotNetBar.Office2007RibbonForm
    {
        public FrmTacGia()
        {
            InitializeComponent();
        }
        public string MaTacGia;
        public int kt;
        DanhMucBUS dmBUS = new DanhMucBUS();
        Utilities uti = new Utilities();
        TacGia tg = new TacGia();
        private void FrmTacGia_Load(object sender, EventArgs e)
        {
            if (kt == 1)
            {
                tg = dmBUS.GetInfoTacGia(MaTacGia);
                txtMaTacGia.Text = tg.MaTacGia;
                txtTenTacGia.Text = tg.TenTacGia;
                txt_GhiChu.Text = tg.GhiChu;
            }
        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            tg = getTTTacGia();
            if (checkSave(tg) == true)
            {
                if (kt == 2)//Thêm
                {
                    if (uti.CheckExitsValue("TacGia", "MaTacGia", tg.MaTacGia) == true)
                    {
                        if (dmBUS.InsertTacGia(tg) == true)
                        {
                            MessageBox.Show("Lưu thành công!", "Thông báo");
                            txtMaTacGia.Text = "";
                            txtTenTacGia.Text = "";
                            txt_GhiChu.Text = "";
                        }
                        else
                            MessageBox.Show("Không thể lưu, kiểm tra lại thông tin!","Thông báo");
                    }
                    else
                        MessageBox.Show("Mã tác giả đã tồn tại !", "Thông báo");
                }
                else //Sửa
                {
                    if (MaTacGia.ToUpper() != tg.MaTacGia.ToUpper()) //Thay đổi khóa chính thì kiểm tra trùng khóa
                    {
                        if (uti.CheckExitsValue("TacGia", "MaTacGia", tg.MaTacGia) == true)
                        {
                            if (dmBUS.UpdateTacGia(MaTacGia, tg) == true)
                                this.Close();
                            else
                                MessageBox.Show("Không thể lưu, kiểm tra lại thông tin!", "Thông báo");
                        }
                        else
                            MessageBox.Show("Mã tác giả đã tồn tại !", "Thông báo");
                    }
                    else
                    {
                        if (dmBUS.UpdateTacGia(MaTacGia, tg) == true)
                            this.Close();
                        else
                            MessageBox.Show("Không thể lưu, kiểm tra lại thông tin!", "Thông báo");
                    }
                }
            }
        }
        TacGia getTTTacGia()
        {
            tg.MaTacGia = txtMaTacGia.Text;
            tg.TenTacGia = txtTenTacGia.Text;
            tg.GhiChu = txt_GhiChu.Text;
            return tg;
        }
        bool checkSave(TacGia tg)
        {
            if (tg.MaTacGia.Equals(""))
            {
                MessageBox.Show("Mã tác giả không được bỏ trống", "Thông báo");
                txtMaTacGia.Focus();
                return false;
            }
            if (tg.TenTacGia.Equals(""))
            {
                MessageBox.Show("Tên tác giả không được bỏ trống");
                txtTenTacGia.Focus();
                return false;
            }
            return true;
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            this.Close();
        }

    }
}
